//package me.firstapp.service.weixin.kami.impl;
//
//import java.util.Date;
//import java.util.Map;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import me.firstapp.common.exception.ServiceException;
//import me.firstapp.common.utils.Page;
//import me.firstapp.common.utils.StrUtils;
//import me.firstapp.module.weixin.kami.KaMi;
//import me.firstapp.repository.weixin.KaMiRepository;
//import me.firstapp.service.weixin.kami.KaMiService;
//
//@Service
//public class KaMiServiceImpl implements KaMiService {
//
//	@Autowired
//	private KaMiRepository kaMiRepository;
//
//	@Override
//	public Page<KaMi> findKaMiPage(Long kaMiProductId, Integer pageNo, Integer pageSize,
//			Map<String, Object> searchParams, String sortParam, String sortType) {
//		return kaMiRepository.findKaMiPage(kaMiProductId, pageNo, pageSize, searchParams, sortParam, sortType);
//	}
//
//	@Override
//	public KaMi executeAddKaMi(Long kaMiProductId, String account, String key, Integer giveType) {
//		KaMi kaMi = kaMiRepository.findByAccountAndKey(kaMiProductId, account, key);
//		if (null != kaMi) {
//			throw new ServiceException("error", "卡密已存在");
//		}
//		kaMi = new KaMi();
//		kaMi.setKaMiProductId(kaMiProductId);
//		kaMi.setAccount(account);
//		kaMi.setKey(key);
//		kaMi.setStatus(KaMi.STATUS_NO_SALE);
//		kaMi.setDeleteStatus(KaMi.DELETE_STATUS_NO);
//		kaMi.setGiveType(giveType);
//		kaMi.setTimeAt(new Date());
//		kaMiRepository.save(kaMi);
//		return kaMi;
//	}
//
//	@Override
//	public KaMi executeUpdateKaMi(Long id, String account, String key, Integer giveType, Integer deleteStatus) {
//		KaMi kaMi = (KaMi) kaMiRepository.getById(id);
//		if (StrUtils.isNotNULL(account)) {
//			kaMi.setAccount(account);
//		}
//		if (StrUtils.isNotNULL(key)) {
//			kaMi.setKey(key);
//		}
//		if (null != giveType) {
//			kaMi.setGiveType(giveType);
//		}
//		if (null != deleteStatus) {
//			kaMi.setDeleteStatus(deleteStatus);
//		}
//		kaMiRepository.update(kaMi);
//		return kaMi;
//	}
//
//	@Override
//	public KaMi findKaMi(Long id) {
//		return (KaMi) kaMiRepository.getById(id);
//	}
//
//	@Override
//	public KaMi findByAccountAndKey(Long kaMiProductId, String account, String key) {
//		return kaMiRepository.findByAccountAndKey(kaMiProductId, account, key);
//	}
//
//}
